import request from '@/utils/request'
const base = 'system/folder'

/**
 * 查询Folder数据列表
 * @param {Object} query - 查询参数
 * @returns {Promise} - Axios请求的Promise对象
 */
export function listFolder(query) {
  return request({
    url: `${base}/list`,
    method: 'get',
    params: query
  })
}

/**
 * 查询Folder数据详细
 * @param {number} id - Folder的唯一标识
 * @returns {Promise} - Axios请求的Promise对象
 */
export function getFolder(id) {
  return request({
    url: `${base}/${id}`,
    method: 'get'
  })
}


/**
 * 新增Folder数据
 * @param {Object} data - 新增的Folder数据
 * @returns {Promise} - Axios请求的Promise对象
 */
export function addFolder(data) {
  return request({
    url: `${base}`,
    method: 'post',
    data: data
  })
}

/**
 * 修改Folder数据
 * @param {Object} data - 修改的Folder数据
 * @returns {Promise} - Axios请求的Promise对象
 */
export function updateFolder(data) {
  return request({
    url: `${base}`,
    method: 'put',
    data: data
  })
}

/**
 * 删除Folder数据
 * @param {number|number[]} ids - 要删除的Folder的IDs，支持多个ID
 * @returns {Promise} - Axios请求的Promise对象
 */
export function delFolder(ids) {
  return request({
    url: `${base}`,
    method: 'delete',
    data: ids
  })
}


/**
 * 获取Folder目录下的内容数据
 * @param {Object} query - 查询参数对象，包含分页、筛选等参数
 * @returns {Promise} - Axios请求的Promise对象
 */
export function getFolderContents(query) {
  return request({
    url: `${base}/contents`,
    method: 'get',
    params: query
  })
}


/**
 * 修改目录名称
 * @param {Object} data - 修改的Folder数据
 * @returns {Promise} - Axios请求的Promise对象
 */
export function renameFolder(data) {
  return request({
    url: `${base}/rename`,
    method: 'put',
    data: data
  })
}

/**
 * 获取查询子内容
 * @param {Object} query - 查询参数
 * @returns {Promise} - Axios请求的Promise对象
 */
export function getFolderSubcontents(query) {
  return request({
    url: `${base}/subcontents`,
    method: 'get',
    params: query
  })
}
